package cn.edu.lingnan.mapper;



import cn.edu.lingnan.user.vos.ExamDetailVO;
import cn.edu.lingnan.user.vos.ExamScoreVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface UserExamMapper {
    // 查询用户的考试记录
    List<ExamScoreVO> selectUserExamScores(@Param("userId") Integer userId);


    //管理员查询考生的考试记录
    List<ExamDetailVO> selectExamDetailsByUserId(
            @Param("userId") Integer userId,
            @Param("offset") Integer offset,
            @Param("pageSize") Integer pageSize
    );

    // 查询考生的考试记录总数
    Integer countExamDetailsByUserId(@Param("userId") Integer userId);


    //查询用户是否在考试中
    @Select("SELECT COUNT(*) FROM t_user_exam WHERE user_id = #{userId} AND status = #{status}")
    Integer countByUserIdAndStatus(@Param("userId") Integer userId, @Param("status") Integer status);

    @Select("SELECT COUNT(*) FROM t_user_exam WHERE user_id = #{userId} AND status = 6")
    Integer countExamedDetailsByUserId(Integer userId);
}
